Public packet switched networks can be used to carry traffic to and from a mobile communications device (a mobile node), such as a mobile host, or a router that changes its point of attachment from one network to another. The basic architecture of mobile IP data networking is known in the art and described in several publications, including the Request for Comments (“RFC”) document RFC 2002 (1996) (hereinafter “RFC 2002”), which is currently available from the Internet Engineering Task Force (“IETF”) at www.ietf.org for more information. Persons skilled in the art of mobile IP data networking are familiar with that document and devices used to implement mobile IP data networking in practice.
In a mobile IP communication network, a mobile node communicates with a target host on an IP network by means of two devices, a “foreign agent” and a “home agent”. One example of a mobile IP network that describes that type of communication is presented in U.S. patent application Ser. No. 09/354,659 entitled “Mobile Internet Protocol (IP) Networking with Home Agent and/or Foreign Agent Functions Distributed Among Multiple Devices,” the entire content of which is incorporated herein by reference. Typically, the foreign agent functionality is incorporated into a router on a mobile node's visited network. The foreign agent provides routing services for the mobile node while it is registered with the home agent. For example, the foreign agent de-tunnels and delivers datagrams that were tunneled by the mobile node's home agent to the mobile node.
The home agent is typically incorporated into a router on a mobile node's home network. The home agent maintains current location information for the mobile node. When one or more home agents are handling calls for multiple mobile nodes simultaneously, the home agents are providing, in essence, a service analogous to a virtual private network service. Each mobile node is typically associated with a separate home network and the routing path from that home network, through the home agent, to the foreign agent and mobile node is like a virtual private network for the mobile node.
Mobile IP requires link layer connectivity between a mobile node (a mobile entity) and a foreign agent. However, in some systems, the link layer from the mobile node may terminate at a point distant from the foreign agent. Such networks are commonly referred to as third generation wireless networks. FIG. 1 is a block diagram illustrating a network architecture that is typically employed in the third generation wireless networks. Referring to FIG. 1, a mobile node 10 communicates with a target host 34 on an IP network 30 by means of three devices, a radio network node 16, a packet data serving node 18, and a home agent node 24. The physical layer of the mobile node 10 terminates on the radio network node 16, and the foreign agent's functionality resides on the packet data serving node 18. Typically, the radio network node 16 relays link layer protocol data between the mobile node 10 and the packet data serving node 18, and the packet data serving node 18 establishes, maintains and terminates the link layer to the mobile node 10. For example, the mobile node 10 may be linked to the radio network node 16 via a communication link on a radio access network.
The packet data serving node 18 provides routing services for the mobile node 10 while it is registered with the home agent 24. The packet data serving node 18 de-tunnels and delivers datagrams that were tunneled from the home agent node 24 via an IP network 20 to the mobile node 10. The communication traffic exchanged between the packet data serving node 18 and the home agent 24 includes data traffic as well as control traffic. The control traffic includes registration request or registration reply messages. The control and data traffic is routed via the packet data serving node 18 and terminates at the mobile node 10. The target host 34 may be connected to a home network 26 by any number of networks, such as the IP networks 20 and 30, or it may be directly located on the home network 26. Alternatively, the target host 34 may be connected to the home network by other types of packet switched networks.
The home agent 24 may be implemented on a router on the mobile node's home network 26. The home agent 24 maintains current location information data for the mobile terminal 10 such as foreign agent address, a Network Access Identifier (“NAI”) of the mobile node 10, a mobile home address and a secret key shared between the home agent and the mobile node 10. The home agent tunnels data from the target host 34 to the packet data serving node 18, and similarly provides tunneling services in the reverse direction. More information on point-to-point tunnels, such as a Layer 2 Tunneling Protocol (“L2TP”) tunnel may be found in the RFC 2661, currently available at www.ietf.org.
The home agent 24, therefore, typically implements at least two distinct tasks for the mobile node 10. First, the home agent 24 performs a registration and authentication process to determine whether the mobile node 10 is authorized to access the home network 26. This may involve, for example, checking the identification of the mobile entity, such as through the use of the mobile entity's unique serial number, NAI, or manufacturing number, password authentication, and possibly checking whether the mobile entity's account is current and paid. The home agent's registration and authentication function may be performed in conjunction with, or with the assistance of, a second device, such as an authentication, authorization and accounting (“AAA”) server such as a Remote Authentication Dial-In User Service (“RADIUS”) server. More information on a RADIUS server may be found on in the RFC-2138, which is currently available at www.ietf.org for more information. As is known to those skilled in the art, the registration process includes receiving and processing registration request messages from the packet data serving node 18 and sending registration reply messages to the packet data serving node 18.
The packet data serving node 18 also performs four distinct tasks for the mobile node 10. The packet data serving node 18 handles registration and session control for the mobile node 10, including sending registration request messages to the home agent 24 and processing registration reply messages received from the home agent 24. Additionally, the packet data serving node 18 has tunneling responsibilities for forwarding data packets to the home agent 24 for ultimate transmission to the target host 34, as well as de-tunneling data from the home agent 24 for ultimate delivery to the mobile node 10. Further, the packet data serving node 18 provides authentication, authorization and accounting services for the mobile node 10. The packet data serving node may perform the authentication, authorization and accounting functions in conjunction with, or with the assistance of, an authentication, authorization and accounting server, such as a RADIUS server. Additionally, the packet data service node 18 may provide Pi/FA interfaces that provide signaling/data interfaces to/from an AAA server, mobile switching center (“MSC”) or a home agent.
When the mobile node 10 initiates a communication session with the radio network node 16 by sending a call setup indication to the radio network node 16 across a radio communication link, the radio network node 16 initiates a registration process with the packet data serving node 18. Typically, the radio network node 16 is configured with a number of packet data serving nodes that may provide services to the mobile node 10. In the known prior art, the radio network node 16 has no status information for any of the packet data serving nodes that are configured to serve the new communication sessions. Thus, when the radio network node 16 initiates the registration process for the mobile node 10, the radio network node 16 randomly selects a packet data serving node for the mobile node 10. In such a system, some of the packet data serving nodes available to the radio network node may be quickly overloaded while the other ones are rarely used. Further, if a number of consecutive packet data serving nodes to which the radio network node 16 sends registration requests are overloaded, such packet data serving nodes will most likely reject registration requests from the radio network node 16, thus, resulting in service delays for the mobile node 10.
The load balancing of user sessions from mobile nodes is an important capability. There are several currently existing methods that may be used for load balancing of user sessions. Typically, a radio network node is programmed with a number of IP addresses of packet data serving nodes, and the radio network node may select one of them to serve an incoming session from a mobile node. According to one existing method, a radio network node may include a packet control function that may calculate a hash value based on, for instance, an International Phone Subscriber Interface (such as a phone number) of a mobile node, and the calculated hash may be used to select a packet data serving node's IP address. The disadvantage to this scheme is that the algorithm does not take into account the current load of each packet data serving node.
According to another alternative method, the packet control function may employ a round robin mechanism to select a packet data serving node. In such an embodiment, the packet control function may assign each subsequent arriving session to the next packet data serving node in its list, wrapping around to the first packet data serving node when the last packet data serving node is reached. The round robin mechanism distributes calls between packet data serving nodes; however, it does not take into account the type of call sessions being forwarded to each packet data serving node, for instance.
Further, according to another method, an external foreign agent control node may select a packet data serving node based on memory usage, or processing power usage of the packet data serving node, for instance. The functionality of the foreign agent control node is described in U.S. patent application Ser. No. 09/881,649 entitled “System and Method for Managing Foreign Agent Selections in a Mobile Internet Protocol Network,” the entire content of which is incorporated herein by reference. While the foreign agent control node provides load balancing mechanisms during selection of packet data serving nodes, there are several limitations to its current architecture. First, multiple redundant foreign agent control nodes are not easily supported given a current packet control function selection algorithm. Second, the foreign agent control node requires an additional component to be added to the system architecture, and does not allow user sessions to be saved when a PDSN crashes or otherwise becomes unavailable.
Thus, there is a need for improved system and method for selecting serving nodes, such as packet data serving nodes or home agents, in a mobile IP network.